GrafEq logo
graph of x/cosx+/-y/cosy=+/-xy/cosxy
x/cosx+/-y/cosy=+/-xy/cosxy
GrafEq logo

Introduction to GrafEq

GrafEq (“GrafEq” has the same pronounciation as “graphic”.) is designed for two kinds of mathematicians: the teacher and the student. Teachers will appreciate features such as the variable font size and the ability to cut and paste expressions and graphs to text documents; students will appreciate the standard mathematics notation and ease of use of the program. Everyone will appreciate GrafEq’s mathematical prowess with its broad range of relations that can be displayed with confidence.

GrafEq is an exceptional tool for exploring mathematics. As an introduction, here are some characteristics underlying the design of GrafEq:

This manual provides a convenient and complete reference to the various features and some anticipated application of such features. Various tutorials, from beginner to expert levels, are also useful tools and a starting point for a rewarding journey of mathematics exploration.
Hint: This manual presumes that the reader will have access to general information about the computer and its operating system, as well as mathematical terminology and concepts.

If the illustrations in this manual do not match your display, check the settings in the File / Preference manual. The screen shots are from a Macintosh running MacOS 8.5.

GrafEq will run on a black and white display, in which case some references to colours should instead be references to patterns.


Chapter 1. The Algebraic Relation Window

The algebraic relation window is for entering the algebraic specification of a relation. One appears automatically at startup, after the title screen is removed. More can be brought up by selecting New Relation from the Graph menu. Figure 1.1 shows a blank algebraic relation window:

A blank algebraic relation window
Figure 1.1: A blank algebraic relation window

The algebraic relation window consists of the following elements:

In addition, an easy button floating window is available for help in relation entry. Easy buttons are especially useful when entering symbols not readily available from the standard keys on a keyboard, such as p, or any powers. For details, refer to the Easy Button Floating Window chapter.


The elements of the algebraic relation window are explained as follows:
Hint:An algebraic window’s title bar, parameter bar, and relation constraints are synchronized with, or equivalent to, their structural relation window counterparts. Custom ticks windows have the same setup for title and parameter bars. Therefore, the corresponding manual sections are equivalent.

Title bar
The title bar displays the graph title and the relation title followed by the “(Algebraic)” label, which distinguishes it from the title bar of the structural relation window. Relation title can be changed using the parameter bar's title edit box. Figure 1.2 shows the title bar:

The title bar of an algebraic window
Figure 1.2: The title bar of an algebraic window

Parameter bar
The parameter bar is for customizing the relation title, starting and stopping graphing, modifying the graph colour, and changing the font size used to display constraints within the algebraic relation window. Figure 1.3 shows the parameter bar:

The parameter bar of an algebraic window
Figure 1.3: The parameter bar of an algebraic window

The elements, from left to right, are explained as follows:

Title edit box
The title edit box is for changing the relation’s title. Custom titles are useful in demonstrations and for print-outs. The default title, “Relation #1”, is easily changed: click on the title edit box to start editing. The new title will replace the old one in all menus, windows, and buttons that show the relation’s title.

Active checkbox
The Active checkbox is for starting and stopping relation plotting in open graph view windows. Clicking on the checkbox, or the checkbox name, toggles between the selected and unselected states. Deselecting the checkbox halts graph plotting and hides the relation from all graph views. Selecting the checkbox resumes graph plotting from where it left off and shows the relation in all graph views.
Hint:The Active checkbox is greyed out and unavailable if any constraint of the relation is invalid.
Colour pop-up menu
The Colour pop-up menu is for changing the colour used for the relation in graph views. This control is useful for optimizing the clarity of graph views. The colour can be changed by clicking on the Colour box to access the pop-up colour menu, and then selecting the desired colour from the menu. For black-and-white graphs, a Pattern pop-up menu replaces the Colour pop-up menu. Colour computers can display black-and-white graphs. For more information, refer to the colour buddy section of the View Buddy Floating Window chapter.

Font Size pop-up menu
The Font Size pop-up menu is for changing the font size used to display relation constraints in the relation window. This control is useful for presentations via an overhead liquid crystal display (LCD) or a large screen television. The font size can be changed by clicking on the Font Size pop-up menu to bring up a menu of available font sizes, and then selecting the desired size from the menu. All constraints of the current algebraic relation window will be displayed in the selected font size.
Hint:Some options in the algebraic relation window’s parameter bar do not change the behaviour or the appearance within the algebraic window itself.
  • The Active checkbox affects the behaviour (graphing) of graph view windows.
  • The Colour pop-up menu affects the appearance (graph colour) of graph view windows.

Constraint fields
Constraint fields are for entering relation constraints. The constraints entered are displayed in standard mathematics format, which is desirable when including relations in handouts or documents (by copying relations from GrafEq and pasting them into a word processor). The formatted presentation also gives some visual feedback that constraints are interpreted as intended. Figure 1.4 shows a sample relation with two constraints (in two constraint fields):

An algebraic window with two constraint fields
Figure 1.4: An algebraic window with two constraint fields

While a constraint is being entered or changed,

When functions are entered using multiple characters, the characters are unformatted, and presented in red, until GrafEq recognizes them as a function name: red signifies unrecognized entries. GrafEq can interpret “sin” as the sine function, instead of the product “s×i×n”, only after an argument, such as x, is entered. A good example is the square root function, when entered as “sqrt”: GrafEq will replace the letters with a graphical radical symbol after an argument is started.
Hint:If the cursor is positioned away from the end of the relation string during editing, all characters to the right side of the cursor become unformatted. With the default preference settings, unformatted characters are shown in solid red on colour displays, while they are outlined in black (not filled in) on black-and-white displays.
Tip:The “Symbol” and “Times” TrueType fonts must be installed in order to produce attractive screen output, unless the font settings have been changed in the preferences.
Tip:More information on the format and structure of constraints and the parser is available in the How GrafEq Works chapter.

Conclusion
To conclude this chapter of the manual, here are some additional hints and tips about the algebraic relation window:


Chapter 2. The Easy Button Floating Window

The easy button floating window provides buttons that assist you in entering relations. Easy buttons are especially useful when entering symbols not readily available from the keys on a standard keyboard. The easy button floating window automatically appears when a relation, or custom ticks, or any expression definition is being edited. It can be shown, or hidden, by selecting Easy Buttons from a Relation menu or a Custom Ticks menu.

Buttons within the floating window are organized into groups, based on common usage: related symbols and operations are contained within each group. These groups are presented in alphabetical order. Figure 2.1 shows the easy button floating window displaying group headings, with only the Basic group of easy buttons expanded to reveal the individual easy buttons:

The default easy button floating window
Figure 2.1: The default easy button floating window



Details about the easy buttons are explained in Appendix A, the Easy Buttons appendix. Following are some notes about the floating window:




Chapter 3. The Structural Relation Window

The structural relation window is a new feature introduced in GrafEq 2.04. It displays a flow chart (a treelike, structural representation) for a relation. The window can be brought up by selecting Relation #k (Structure) from the Graph menu, or selecting Structural Window from a Relation menu. The structural window is helpful for understanding, and confirming, operator precedence within a relation. Figure 3.1 shows a structural relation window displaying the relation y=sinx:

A structural relation window displaying y=sinx
Figure 3.1: A structural relation window displaying y=sinx

The structural relation window consists of the following elements:


The elements of the structural relation window are explained as follows:
Hint:A structural relation window’s title bar, parameter bar, and its relation description are synchronized with, or equivalent to, their algebraic relation window counterparts. Custom ticks windows have the same setup for title and parameter bars. Therefore, the corresponding manual sections are equivalent.

Title bar
The title bar displays the graph title and the relation title followed by the “(Structural)” label, which distinguishes it from the title bar of the algebraic relation window. The relation title can be changed using the parameter bar's title edit box. Figure 3.2 shows the title bar:

The title bar of a structural relation window
Figure 3.2: The title bar of a structural relation window

Parameter bar
The parameter bar is for customizing the relation title, starting and stopping graphing, modifying the relation colour, and changing the font size used to display elements of the structural representation. Figure 3.3 shows the parameter bar:

The parameter bar of a structural relation window
Figure 3.3: The parameter bar of a structural relation window

The elements, from left to right, are explained as follows:

Title edit box
The title edit box is for changing the relation’s title. Custom titles are useful in demonstrations and for print-outs. The default title, “Relation #1”, is easily changed: click on the title edit box to start editing. The new title will replace the old one in all menus, windows, and buttons that show the relation’s title.

Active checkbox
As with the Active checkbox in the algebraic window paramenter bar, the structural relation window’s Active checkbox is for starting and stopping relation plotting in open graph view windows. Clicking on the checkbox, or the checkbox name, toggles between the selected and unselected states. Deselecting the checkbox halts graph plotting and hides the relation from all graph views. Selecting the checkbox resumes graph plotting from where it left off and shows the relation in all graph views.
Hint:The Active checkbox is greyed out and unavailable if any constraint of the relation is invalid.

Colour pop-up menu
The Colour pop-up menu is for changing the colour used for the relation in graph views. This control is useful for optimizing the clarity of graph views. The colour can be changed by clicking on the Colour box to access the pop-up colour menu, and then selecting the desired colour from the menu. For black-and-white graphs, a Pattern pop-up menu replaces the Colour pop-up menu. Colour computers can display black-and-white graphs. For more information, refer to the colour buddy section of the View Buddy Floating Window chapter.

Font Size pop-up menu
The Font Size pop-up menu is for changing the font size used in the tree nodes. This control is useful for presentations via an overhead liquid crystal display (LCD) or large screen television. The font size can be changed by clicking on the Font Size pop-up menu to bring up a list of available font sizes, and then selecting a new size from the menu.
Hint:The font size of the structural relation window affects the tree structure field, while the font size of the algebraic window affects the constraint fields. However, the title edit box, Active checkbox, and Colour pop-up menu of corresponding structural and algebraic relation windows are identical, and are synchronized. Changes in one will be reflected in the other.

Some controls in the structural relation window’s parameter bar do not change the behaviour or the appearance within the structural window itself.

  • The Active checkbox affects the behaviour (graphing) of graph view windows.
  • The Colour pop-up menu affects the appearance (graph colour) of graph view windows.

Tree structure field
The tree structure field displays a relation using a tree structure. The tree structure is updated as the relation is entered. Figure 3.4 shows the sequence of tree structures displayed as the relation y=sinx is entered:

relation: y relation: y=
relation: y=s relation: y=si
relation: y=sin relation: y=sinx

Figure 3.4: The sequence of tree structures displayed as y=sinx is entered

Tree control bar
The tree control bar is for customizing general attributes of the tree structure field, including node colour and tree structure format. Figure 3.5 shows the tree control bar:

The tree control bar of a structural relation window
Figure 3.5: The tree control bar of a structural relation window

The elements, from left to right, are explained as follows:

Node Colour pop-up menu
The node Colour pop-up menu is for changing the colour used to display tree nodes in the structural window. This control is useful for optimizing the clarity of the displayed tree structure. The colour can be changed by first clicking on the colour pop-up to bring up the pop-up colour menu, and then selecting the desired colour from the menu.

Combine Commutative checkbox
The Combine Commutative option is for combining commutative operations within the tree structure. Clicking on the checkbox toggles between its selected and unselected states.

Figure 3.6 shows two tree structures for the same relation: The one the left, with the Combine Commutative unselected, shows a full, binary tree structure. The one on the right, with the Combine Commutative selected, shows a flatter tree structure, with commutative operations combined together.

Full tree structure Flattened tree structure
Binary n-ary

Figure 3.6: Alternative tree structure presentations

Conclusion
To conclude this chapter of the manual, following are some additional hints and tips about the structural relation window:


Chapter 4. The Create View Window

The create view window is for specifying attributes for the new view window to be created. Example attributes are graph type (cartesian or polar), and view scope (variables and bounds). The create view window can be brought up by selecting New View from the Graph menu. It also appears automatically if the current graph does not have any views open, and a relation specification is completed by pressing the return key.

The create view window comes in two modes; a cartesian mode and a polar mode, as shown in figure 4.1:

Cartesian mode Polar mode
Cartesian mode Polar mode

Figure 4.1: Two create view windows

The create view window contains the following elements:

The elements of the create view window are explained as follows:
Cartesian and Polar radio buttons
The Cartesian and Polar radio buttons are for changing the coordinate system used for plotting. They are in the upper left area of the create view window. GrafEq sets the mode to Polar only if r or q are the variables in the constraint specification; otherwise, GrafEq sets the mode to Cartesian. The mode can be changed by clicking on the other radio button or on its name.
Hint:If x and/or y, as well as r and/or q, is used in a relation specification, GrafEq sets the mode to Cartesian.

Domain and range pop-up menus
A variable pop-up menu is adjacent to each of the domain and range axes. They are for specifying the variables used for each axis of the new view. In the Cartesian mode, the variables default to x and y; in the Polar mode, they default to r and q. For a graph specified in variables other than x and y, or r and q, the variables can be changed by clicking on the respective pop-up menu to bring up the menu of available variables, and then selecting a new variable from the menu.

Bound edit boxes
Two sets of upper and lower bound edit boxes are adjacent to each of the domain and range variable axes. They are for specifying the bounds of the graph. In Cartesian mode, the default bounds are -10 to 10 for both x and y; in Polar mode, the default bounds are 0 to 10 for r, and 0 to 6.28 for q. Any of the bounds can be changed by first clicking inside their respective edit boxes, and then editing the bounds. Bounds can be simple numbers, or numeric expressions.
Hint:When variable bounds are being edited, an easy button floating window is available for help in expression entry. Easy buttons are especially useful when entering symbols not readily available from the standard keys on a keyboard, such as p, or any powers. For details, refer to the Easy Button Floating Window chapter.
Hint:Instead of the mouse, the tab key or the arrow keys can be used to move among the edit boxes.

Create button
The Create button is in the center left area of the create view window, and is for closing the create view window and opening the specified new view window.
Hint:Plotting of all active relations of the current graph will commence in the new view in the new window unless automatic graphing is turned off in the option or preference settings.

Cancel button
The Cancel button is for aborting the creation of a new graph view. It is right below the Create button. Clicking on it will simply close the create view window without creating a new view.

Cartesian mode
Figure 4.2: Two create view windows

More Options... button
The More Options... button is in the bottom center of the create view window. Click it; the additional options will be displayed, and the More Options... button will become a Fewer Options... button.

The additional view creation options are explained as follows:

Start Graphing Immediately checkbox
The Start Graphing Immediately checkbox is for controlling whether or not GrafEq starts plotting immediately and automatically after the graph view is created. If the option is unselected, GrafEq waits until the Graph checkbox in the view window’s parameter bar is selected to start plotting, which might be desired during explanation or presentations. Clicking on the checkbox toggles between the selected and unselected states.

Display View in Colour checkbox
The Display View in Colour checkbox is for choosing between a colour view or a black-and-white view. The black and white option is useful for printing to a black-and-white printer. Clicking on the checkbox toggles between the selected and unselected states.
Hint:The black and white option is also useful for exporting to another application, such as a word processor, for further processing and subsequent black-and-white printing.

Preserve Aspect Ratio checkbox
The Preserve Aspect Ratio option is for setting the aspect ratio fixed at one. If the option is deselected, aspect ratio depends on the variable bounds.
View Size pop-up menu
The View Size pop-up menu is for changing the size of the graph view on the monitor. GrafEq determines the default view size according to the size of the monitor used. The default size can be changed by clicking on the View Size pop-up to bring up a menu of available sizes, and then select a size from the menu.
Hint:View dimensions are measured in pixels. For high resolution display or printouts, select large values from the View Size pop-up menu to achieve best results.

Conclusion
To conclude this chapter of the manual, following is an additional hint about the create view window:


Chapter 5. The View Window

The view window is for displaying, and investigating, graphs of relations. GrafEq produces graphs using an iterative process: a rough approximation to the graph is first presented, which is then refined over time. Eventually, a correctly plotted graph of all active relations will be displayed. For more information about the plotting process, see the How GrafEq Works chapter.

A view window can be created by pressing the Create button of the create view window.
Hint:The create view window appears automatically if a relation specification is completed by pressing the return key and the current graph does not have any open views. It can also be brought up by selecting New View from the Graph menu; additional views can be opened this way.
Figure 5.1 shows a view window displaying a graph with one active relation, y=sinx:
Hint:Initial settings are adopted from the create view window.

A view window displaying a graph with one active relation, y=sinx
Figure 5.1: A view window displaying a graph with one active relation, y=sinx

The view window consists of the following elements:


The elements of the view window are explained as follows:

Title bar
The title bar displays the graph title and the view title. The view title can be changed using the parameter bar’s title edit box. Figure 5.2 shows the title bar:

The title bar of a view window
Figure 5.2: The title bar of a view window

Parameter bar
The parameter bar is for customizing the view title, showing graphing status, controlling graphing activity, and displaying the percentage of the graphing area that has been proven to be correct. Figure 5.3 shows the parameter bar:

The parameter bar of a view window
Figure 5.3: The parameter bar of a view window

The elements, from left to right, are explained as follows:

Title edit box
The title edit box is for changing the view’s title. Custom titles are useful in demonstrations and for print-outs. The default title, “View #1”, is easily changed: click on the title edit box to start editing. The new title will replace the old one in all menus, windows, and buttons that show the view’s title.

Graphing barber pole
The graphing barber pole relays graphing activity. It revolves while the graph is being plotted. It is replaced with a blank bar if graphing is stopped, but not completed. It disappears when graphing has been completed: an absent bar means that the displayed graph has been proven to be correct in every detail.

Graph (...) checkbox
The Graph (...) checkbox lets you pause, and resume, graphing. Graphing occurs when the checkbox is selected: clicking on the checkbox toggles between the selected and unselected states.

A progress report is shown in brackets; explanations of the common progress reports follow.

  • “Waiting” means that graphing has not started.
  • “>p% Proven”, with a single relation, means that more than p percent of the displayed pixels have been proven to be correctly coloured. With multiple relations, the average of the amounts proven for each relation is under-reported. For example, with two relations, one finished and the other just begun, the progress report would be “>49.9% Proven”.
  • “Finished” means that graphing has completed.
The following explains the reports that are shown when graphing cannot continue.
  • “Memory Stall” means that there is not enough available memory for graphing to continue. Increasing the amount of memory available to GrafEq may help.
  • “Subdivisions Exhausted” means that even though the remaining (uncertain) pixels have been divided into the finest mesh GrafEq can use, no more proofs were forthcoming. Changing the syntactic form of the relation or zooming into the region of interest may help.
  • “Precision Exhausted” means that GrafEq’s underlying number system does not have enough precision for graphing to progress. A correct graph of the desired area may be possible by introducing scaling and/or translation transformations into the relation.
Hint:If the Graph checkbox is deselected after graphing has finished, no change will occur.

View region
The view region is the main part of the view window: it displays the current view of the graph. Figure 5.4 shows a sequence of view windows displaying progressive stages of graph plotting, finishing with the completed plot.

GrafEq view window - view region before graphing starts GrafEq view window - view region when graphing just starts
GrafEq view window - view region when graphing a while GrafEq view window - view region when graphing is finished

Figure 5.4: Progressive stages of graph plotting

Hint:Ticked axes are applied to the view according to the current preference settings. They can be customized across sessions by modifying the preference settings, which are accessed by selecting Preferences under the File menu. The ticked axes can be turned off, for the current view window only, by deselecting Ticks in the colour view buddy. More controls over the ticked axes are available in the ticks view buddy. The ticks view buddy has many controls besides those for turning ticks on and off. Refer to the View Buddy Floating Window chapter for details.

Following is a summary of the controls of, and the various attributes of, the view window and its view region:

Conclusion
To conclude this chapter of the manual, following are some additional hints and tips about the view window:


Chapter 6. The View Buddy Floating Window

The view buddy floating window provides tools for interpreting and augmenting a graph and its views. It appears automatically when a view window is foremost. Figure 6.1 shows the view buddy window in its initial mode, Colour:


The view buddy floating window in its initial mode, Colour
Figure 6.1: The view buddy floating window in its initial mode, Colour


The view buddy has seven different modes: Colour mode is the initial mode, and is shown in figure 6.1 earlier; the other modes are accessable by clicking on the mode pop-up menu, and then selecting a new mode from the menu that pops up.

The mode pop-up menu is at the very top of the view buddy floating window, and includes:

Before going into details about the different modes of the view buddy, following are some hints about the floating window and its modes:

Information Buddy
The Information buddy displays advanced, technical data about the graphing process. It is accessed by selecting Information from the buddy mode pop-up menu at the top of the floating window. Figure 6.2 shows the information buddy displaying data for the graph view as a whole:

The Information buddy displaying data for the graph view as a whole
Figure 6.2: The Information buddy displaying data for the graph view as a whole

The information buddy has several different sub-modes. Totals sub-mode is the default, as seen in figure 6.2 earlier. It displays data for the graph as a whole. Other modes display data for an individual relation of the graph. Each mode is accessed using the sub-mode pop-up menu, which is just below the mode pop-up menu at the top of the view buddy floating window

All information displayed applies to the immediately associated graph view only. The data elements, from top to bottom, are explained as follows:

Number of regions
Number of regions shows the number of rectangular blocks remaining to be refined by GrafEq. When plotting is completed, it will be zero.
Hint:The number of regions often can increase early in the graphing process as GrafEq splits up the view region into more rectangular regions, then decrease as GrafEq verify more regions as satisfying or not satisfying the relations.
Memory allocated
Memory allocated shows the RAM being used by the graph. It reflects the complexity of the graph and the plotting technique employed. When plotting is completed, it shows the RAM required for displaying the plotted graph in the view window.
Scheduling pedigree
Scheduling pedigree shows the plotting technique currently being used by GrafEq. Plotting techniques include the following:
Evaluation speed
Evaluation speed shows the up-to-the-moment average rate of graph processing. It reflects the complexity of the graph relations, processor speed, and memory resources. Evaluation speed is measured in Equation Evaluations Per Second (EEPS), Kilo EEPS (KEEPS), or Mega EEPS (MEEPS). When graphing is completed, this rate will be removed from the display.
Total number of evaluations
Total number of evaluations shows the up-to-the-moment total of evaluations performed by the graphing process. It varies with the complexity of the graph view. The number of evaluations is measured in Equation Evaluations (EE), Kilo EE (KEE), or Mega EE (MEE). When graphing is completed, this number will stop changing.
CPU time/total time
CPU time shows the amount of time the CPU has spent on graphing after factoring out the time spent on other tasks. Total time shows the total amount of time that has elapsed since graphing started. Any time that elapsed while the graphing process was deactivated (by deselecting the Graph (...) checkbox) is excluded in the CPU time and total time measurements.
Tip:If CPU time is small relative to total time, closing non-essential windows and/or quitting other programs will increase graphing speed, as GrafEq will be able to use more CPU time for graphing.
Dimensionality
Dimensionality shows the dimension refining is occuring in. Even through GrafEq presents graphs using two dimensional views, GrafEq may be processing relations in higher dimensions if relations include variables other than the axes variables.
View size
View size shows the view region’s width and height, in pixels. It is available only in the Totals sub-mode.
Show Work checkbox and colour pop-up menus
Show Work and its colour options are for displaying plotting processes. They are available in each individual relation sub-mode, but not the Totals sub-mode. When Show Work is selected, the view region would be coloured as follows: Two colour pop-up menus are provided for the work area, which will flash between the two selected colours. If the same colour is selected for both pop-up menus, work areas will appear in the one colour, and will not flash. Flashing is useful when using a black-and-white display.
Background colour pop-up menu
The Background colour pop-up menu is for conveniently changing the graph’s background colour. It is useful for making work areas stand out.
Hint:A background colour pop-up menu is also in the Colour buddy (which is explained in the next section). The two pop-up menus are synchronized.
The contents of the information view buddy can be customized using the preferences. For details, refer to the Preferences chapter.

Colour Buddy
The Colour buddy is for changing the appearance of graph views. It is accessed by selecting Colour from the buddy mode pop-up menu at the top of the floating window. Figure 6.3 shows the colour mode view buddy:

The Colour buddy
Figure 6.3: The Colour buddy

All colour view buddy options apply to all view windows of the associated graph. The elements, from top to bottom in the colour buddy, are explained as follows:

Colour checkbox
The Colour checkbox is for toggling between a colour view and a black-and-white view. The black and white option is useful for printing to a black-and-white printer.
Blend checkbox
The Blend checkbox is for toggling between blending and layering colours when a graph displays multiple relations which have intersecting regions. Blended graphs show off intersecting areas clearly. In a layered graph, GrafEq initially displays relations in the order that their respective relation windows are opened, earliest at the bottom, latest at the front. The layers can be reordered by hiding and redisplaying relations. Deselect a relation to hide it; re-select it to display that relation at the front. Clicking on the relation’s checkbox toggles between its selected and unselected states.
Background colour pop-up menu
The Background colour pop-up menu is for changing the colour used for the graph’s background. For black-and-white graphs, the background colour can be either solid black or solid white.
Ticks pop-up menu and checkbox
The Ticks colour pop-up menu is for changing the colour used for the ticks. For black-and-white graphs, the ticks can be either black or white. The checkbox adjacent to the colour pop-up menu is for showing and hiding the ticks.
(optional) Custom ticks colour pop-up menus and checkboxes
Each custom ticks pop-up menu and checkbox is similar to the ticks pop-up menu and checkbox, but control display options for custom ticks instead of ticks.
Hint:Custom ticks colour pop-up menus are synchronized with the pop-up menus in the custom ticks windows.
(one or more) Relation colour pop-up menus and checkboxes
Relation colour pop-up menus are for changing the colours used to display relations. For black-and-white graphs, patterns are chosen instead of colours; a pattern pop-up menu is available instead of a colour pop-up menu. The checkboxes adjacent to the colour pop-up menus are for showing and hiding relations.
Hint:Relation colour (or pattern) pop-up menus are synchronized with the colour (or pattern) pop-up menus in algebraic and structural relation windows.

Ticks Buddy
The Ticks buddy is for showing or hiding the ticks, selecting optional tick components, and customizing the appearance of the ticks. It is accessed by selecting Ticks from the buddy mode pop-up menu at the top part of the floating window. Figure 6.4 shows the ticks mode view buddy presenting the Preconfigured ticks options:

The Ticks buddy presenting the Preconfigured ticks
Figure 6.4: The Ticks buddy presenting the Preconfigured ticks


All options apply to the current view only.

The Show Ticks checkbox is the first option offered in the ticks buddy: it is just below the mode pop-up menu. When the checkbox is selected, ticks are shown.
Tip:By default preference settings, ticks are shown automatically when new views are opened. If GrafEq doesn't show ticks, graphing of complex relations might be faster. For details about changing preference settings, refer to the Preferences chapter.
The ticks buddy provides four different ticks sub-modes. Preconfigured is the default sub-mode, as seen in figure 6.4 earlier. Other sub-modes include Marks, Outline, and Parameters. Each sub-mode is accessed using the pop-up menu below the Show Ticks checkbox.

The ticks sub-modes are explained as follows:

Preconfigured
The Preconfigured sub-mode provides basic (simplified) tick options using four buttons. Each button sets the ticks to a preconfigured setting, as follows:
  • button 1: axes and sparse ticks;
  • button 2: axes, sparse ticks, axes labels, and bounds;
  • button 3: axes, dense ticks, axes labels, and bounds;
  • button 4: axes, dense ticks, axes labels, and bounds, and grid cross ticks.
    Tip:This option can be used for making graph paper.
The Preconfigured sub-mode of the ticks buddy

Figure 6.5: The Preconfigured sub-mode of the ticks buddy



Marks, outline, and parameters
These sub-modes are for controlling the composition and appearance of the ticks. Options are offered using expandable lists, which have the following properties:

Marks
The Marks sub-mode is for selecting which tick components are shown. The various marks are useful for interpreting the graph, and for augmenting its display. Figure 6.6 shows marks options:

The Marks sub-mode of the ticks buddy
Figure 6.6: The Marks sub-mode of the ticks buddy

  • Axes checkbox, and list which is expandable to the following:
    • Lines checkbox, and list which is expandable to Domain and Range checkboxes.
      Select these options to display the axis lines.
    • Ticks checkbox, and list which is expandable to Domain and Range checkboxes.
      Select these options to display the ticks on axis lines at the selected density.
    • Arrowheads checkbox, and list which is expandable to Domain and Range checkboxes, and lists of which each is further expandable to Min and Max checkboxes.
      Select these options to display the arrowhead appearances.
  • Labels checkbox, and list which is expandable to the following:
    • Variables checkbox, and list which is expandable to Domain and Range checkboxes.
      Select these options to display the variable labels.
    • Bounds checkbox, and list which is expandable to Domain and Range checkboxes, and lists of which each is further expandable to Min and Max checkboxes.
      Select these options to display the bound values.
  • Grids checkbox, and list which is expandable to Dots and Crosses checkboxes.
    Select these options to display dots and crosses to cover the entire graph view.

Outline
The Outline sub-mode is for setting the thickness of the optional outline around tick components. A small area (an outline) may be placed around tick components, which can improve readability, especially in cluttered graphs. Figure 6.7 shows outline options:

The Outline sub-mode of the ticks buddy
Figure 6.7: The Outline sub-mode of the ticks buddy

  • Outline... thickness pop-up menu
  • Axes checkbox, and list which is expandable to Lines, Ticks and Arrowheads checkboxes.
    Select these options to stand-out the axis lines, ticks and/or arrowheads.
  • Labels checkbox, and list which is expandable to Variables and Bounds checkboxes.
    Select these options to stand-out the variable labels, and/or bound labels.
  • Grids checkbox, and list which is expandable to Dots and Crosses checkboxes.
    Select these options to stand-out the dots, and/or crosses.

Parameters
The Parameter sub-mode is for changing the font size used for tick labels, the density of tick marks used, the tick size, and for choosing marginal or in-line axes. Figure 6.8 shows parameters options:

The Parameters sub-mode of the ticks buddy
Figure 6.8: The Parameters sub-mode of the ticks buddy


  • The Font Size pop-up menu is for changing the font size for any displayed variables and bound labels included in the ticks. The presence, or absence, of elements is governed by the Marks sub-mode.
  • The Mark Density pop-up menu is for changing the density of ticks, dots, and crosses. The presence, or absence, of elements is governed by the Marks sub-mode.
  • The Tick Size pop-up menu is for changing the size of any displayed ticks and arrowheads. The presence or absence of elements is governed by the Marks sub-mode.
  • The Marginal Axes checkbox is for choosing between marginal and in-line axes. Marginal axes always lie off to the side of a graph view, while in-line axes may lie within a graph view.

Zoom Buddy
The Zoom buddy is for zooming in and out of a graph. It is accessed by selecting Zoom from the buddy mode pop-up menu at the top part of the floating window. Figure 6.9 shows a typical zoom mode view buddy:

A typical Zoom buddy
Figure 6.9: A typical Zoom buddy


All zoom buddy settings are shared between all view windows. The controls, from top to bottom in the zoom buddy, are explained as follows:

Colour pop-up menus
These are a pair of colour pop-up menus: the one on the upper left is for changing the colour used for the inside the zoom box; the one on the lower right is for changing the colour used for the outline of the zoom box.
Zoom Out button
The Zoom Out button is for zooming out from the current graph view. The new view will have the same center, but both the domain and the range will be doubled; the new view will therefore cover four times the area of the original view.
Keep Current View checkbox
The Keep Current View checkbox is for specifying whether the current view is kept or discarded after a new view is created by zooming in or out. Select the option to compare graph views before and after zooming; deselect it to save memory and keep the machines’s desktop clean and tidy.
Zoom-in box
The zoom-in box specifies the scope of the new view that GrafEq will zoom into. It appears automatically when the mouse is within the graph view region. Zooming in is done by clicking the mouse, or by pressing the return key, while the area of interest is within the zoom-in box. The size of the zoom-in box, and thus the scope it specifies, can be changed by using the arrow keys: the left arrow narrows it, while the right arrow widens it; the up arrow heightens it, while the down arrow shortens it.
Hint:The mouse is usually at the center of the zoom-in box. When the mouse is still within the view region but far out towards one side, the zoom-in box stays within the current view region by sticking to an edge. As mentioned earlier, the colours of the zoom-in box are controlled by the colour pop-up menus at the top part of the zoom buddy.
Tip:If the desired graph region is not shown in a current view because of inappropriate view bounds, or because of zooming in, they can be recovered by zooming out until the desired region is again within the view scope. Specific regions may then be examined by zooming back in.

Draw Buddy
The Draw buddy is for accessing drawing tools which are useful for augmenting the display of graph views. It is accessed by selecting Draw from the buddy mode pop-up menu on the top part of the floating window. Figure 6.10 shows the draw mode view buddy:

The Draw buddy
Figure 6.10: The Draw buddy


All drawings appear on the draw buddy’s immediately associated view only. The draw buddy provides access to a selection tool, an arrow tool, a formula tool, a text tool, and a box tool. Each draw tool is accessed by clicking on its button in the draw buddy window; its options and controls would then be presented in a separate floating window.

Draw tools provide elaborate support for augmenting graph views. Details are available in Appendix III.

One Point Buddy
The One Point buddy displays the coordinates of the point the cursor is currently over. It also provides a magnified view of the area around the point. The one point buddy is accessed by selecting One Point from the buddy mode pop-up menu at the top part of the floating window. Figure 6.11 shows the one point buddy:

The One Point buddy
Figure 6.11: The One Point buddy


One point buddy controls apply to its immediately associated view only. The buddy elements are explained as follows:

Coordinates field
The coordinates field displays the domain and range coordinates of the cursor point if the mouse cursor is within the graph view region. Coordinates values are given with error corrections.
Magnified view box
The magnified view box displays a magnified view of the region around the cursor.
Magnification pop-up menu
The Magnification pop-up menu is for changing the magnifying factor for the magnified view box. Supported magnification ranges from half-time(1/2x) to five-times(5x).
Tip:From within the one-point buddy, curve riding is possible by holding down the shift key while moving the mouse.

Two Point Buddy
The Two Point buddy displays the coordinates of two selected points A and B, and attributes of the line formed from joining A and B. The buddy is accessed by selecting Two Point from the buddy mode pop-up menu at the top part of the floating window. The two points, A and B, can be relocated, one at a time, by clicking on them, then dragging them to new locations. Figure 6.12 shows the two point mode view buddy:

The Two Point buddy
Figure 6.12: The Two Point buddy


Two point buddy controls apply to its immediately associated view only. Two point buddy elements are explained as follows:

Coordinates field
The coordinates field displays the domain and range coordinates of A and B. Coordinates values are given with error corrections.
Attribute pop-up menu and attribute data field
The attribute pop-up menu is for changing the data type displayed in the attribute data field. Attribute options are listed and described as follows: All attribute data are given with error corrections.


Chapter 7. The Custom Ticks Window

The custom ticks window is for adding user specified ticks as interpretations aids to view windows. It can be brought up by selecting New Custom Ticks from the Graph menu. Figure 7.1 shows a blank custom ticks window:

A blank custom ticks window
Figure 7.1: A blank custom ticks window

The custom ticks window consists of the following elements:

Hint:The custom ticks window is very similar to the algebraic relation window. They have the following equivalent elements and properties:
  • easy button support when editing constraint specifications,
  • the title bar’s elements and functions,
  • the parameter bar’s elements and functions,
  • the constraint fields’ elements and functions, and
  • the optional keystroke field below the current constraint field.
This chapter still provides a complete explanation of these elements and properties so that the manual has a modular structure and can be used as a reference. The description for the equivalent elements and properties are mirrored in the Algebraic Relation Window chapter.
An easy button floating window is available for help in entering custom ticks specifications. Easy buttons are especially useful when entering symbols not readily available from standard keys on a keyboard, such as p, or any powers. For details, refer to the Easy Button Floating Window chapter.


The elements of the custom ticks window are explained as follows:

Title bar
The title bar displays the graph title and the custom ticks title. The default title, “Custom Ticks #1”, can be changed using the parameter bar’s title edit box. Figure 7.2 shows the title bar:

The title bar of a custom ticks window
Figure 7.2: The title bar of the custom ticks window

Parameter bar
The parameter bar is for changing the title, showing and hiding the custom ticks, modifying the tick’s colour, and changing the font size used to display the tick’s specification. Figure 7.3 shows the parameter bar:

The parameter bar of the custom ticks window
Figure 7.3: The parameter bar of the custom ticks window

The elements, from left to right on the custom ticks window parameter bar, are explained as follows:

Title edit box
The title edit box is for changing the title of the current custom ticks specification. Title editing is useful in demonstrations and for print-outs. The default title, “Custom Ticks #1”, can be changed by clicking on the title edit box to access the edit mode. The new title will be reflected in all GrafEq menus, windows, and buttons that show the custom tick’s title.

Active checkbox
The Active checkbox is for showing and hiding the custom ticks in all opened graph view windows. Clicking on the checkbox, or the checkbox name, toggles between the selected and unselected states. Deselecting the box hides the custom ticks from all graph views.
Hint:The Active checkbox is greyed out and unavailable if the custom ticks definition is not valid yet.

Colour pop-up menu
The Colour pop-up menu is for changing the colour used for the custom ticks in graph views. This control is useful for optimizing the clarity of graph views. The colour can be changed by clicking on the Colour box to access the pop-up colour menu, then selecting the desired colour from it.

Font Size pop-up menu
The Font Size pop-up menu is for changing the font size used to display the tick’s specification in the custom ticks window. The control is useful for presentations via an overhead liquid crystal display (LCD) or large screen television. The font size can be changed by clicking on the Font Size pop-up menu to bring up the menu of available font sizes, and then selecting the desired size from it. All constraints used for the tick specification will be displayed in the selected font size.
Hint:Some options in the custom ticks window’s parameter bar do not change behaviour or appearance within the custom ticks window itself:
  • The Active checkbox affects the appearance (custom ticks display) in graph view windows.
  • The Colour pop-up menu affects the appearance (custom ticks colour) in graph view windows.

Ticks control bar
The ticks control bar is for changing the appearance of custom ticks in all view window(s) of the associated graph. The controls are for optimizing the readability of the custom ticks, and is useful in demonstrations and making print-outs. Figure 7.4 shows the ticks control bar.

The tick control bar of the custom ticks window
Figure 7.4: The tick control bar of the custom ticks window

The elements, from left to right on the custom ticks window tick control bar, are explained as follows:

Labels pop-up menu
The labels pop-up menu is for changing which ends of the custom tick lines are labelled. This control does not affect polar views. Available options include:
  • no labels,
  • labels on the top (or left),
  • labels on the bottom (or right),
  • labels alternating between the top and the bottom (or left and right),
  • labels alternating between the bottom and the top (or right and left), and
  • labels on both the top and bottom (or left and right).
Figure 7.5 shows example views with various label options:

No labels
No labels

Labels on the top
Labels on the top

Labels on the bottom
Labels on the bottom

Labels alternating between the top and the bottom
Labels alternating between the top and the bottom

Labels alternating between the bottom and the top
Tick labels alternating between the bottom and the top

Labels on both the bottom and the top
Labels on both the bottom and the top

Figure 7.5: Example views with various label options

Line pop-up menu
The line pop-up menu is for changing the style used to display the custom tick lines. This control affects both polar and cartesian views. Available options include:
  • no lines,
  • dotted lines,
  • dashed lines, and
  • solid lines.
Figure 7.6 shows views with various line options:

No lines
No lines

Dotted lines
Dotted lines

Dashed lines
Dashed lines

Solid lines
Solid lines

Figure 7.6: Views with various line options

Symbolic simplification pop-up menu
The symbolic simplification pop-up menu is for changing how much simplification is to be applied to the custom tick labels. This control does not affect polar views. Available options include:
  • none, for no simplification;
  • bracketed, for simplified presentation of any parts within brackets; and
  • complete, for a simplified presentation.
Figure 7.7 shows views with various symbolic simplification options:

No symbolic simplification
No symbolic simplification

Bracketed symbolic simplification
Bracketed symbolic simplification

Complete symbolic simplification
Complete symbolic simplification

Figure 7.7: Views with various symbolic simplification options

Label font size pop-up menu
The label font size pop-up menu is for changing the font size of the tick line labels. This control does not affect polar views. Eight sizes are available, ranging from very small fonts to very large fonts.

Outline pop-up menu
The outline pop-up menu is for changing the thickness of any outlining around displayed custom tick lines and labels. Outlining is useful when parts of the custom ticks are obscured by graph regions. This control does not affect polar views. Available options include:
  • no outline,
  • minimal outline,
  • moderate outline, and
  • maximal outline.
Figure 7.8 shows views with various outline options:

No outline
No outline

Minimal outline
Minimal outline

Moderate outline
Moderate outline

Maximal outline
Maximal outline

Figure 7.8: Views with various outline options

Display variable pop-up menu
The display variable pop-up menu is for selecting whether or not the variable is displayed within tick labels. This control does not affect polar views. figure 7.9 shows views with, and without, the variable being displayed:

Variable displayed in labels
Variable displayed in labels

Variable not displayed in labels
Variable not displayed in labels

Figure 7.9: Views with, and without, the variable being displayed
Hint:All options in the custom ticks control bar only affect the appearance of custom ticks in graph view windows. They do not affect the behaviour or appearance within the custom ticks window itself.

Custom tick constraint fields
Custom tick constraint fields are for specifying the custom ticks. They display the entered specification in standard mathematics notations. Prompts appear at the bottom of the field, while a constraint is being entered, to offer basic tips during the specification process. Figure 7.10 shows examples simple and complex custom tick specifications:

A custom ticks window displaying a simple specification A custom ticks window displaying a complex specification
Simple tick specification Complex tick specification

Figure 7.10: Custom ticks windows displaying simple and complex specifications

Custom ticks constraints should be specified in terms of the domain or range variable. The simple tick specification in figure 7.10 creates vertical ticks in multiples of p/2, which is especially useful for graphing trigonometric relations. Additional samples of useful tick specifications are provided at the end of this manual chapter.

While a constraint is being entered or changed,

When functions are entered using multiple characters, the characters are unformatted, and presented in red, until GrafEq recognizes them as a function name: red signifies unrecognized entries. GrafEq can interpret “sin” as the sine function, instead of the product “s×i×n”, only after an argument, such as x, is entered. A good example is the square root function, when entered as “sqrt”: GrafEq will replace the letters with a graphical radical symbol after an argument is started.
Hint:If the cursor is positioned away from the end of the constraint string during editing, all characters to the right side of the cursor become unformatted. With the default preference settings, unformatted characters are shown in solid red on colour displays, while they are outlined in black (not filled in) on black-and-white displays.
Tip:The “Symbol” and “Times” TrueType fonts must be installed in order to produce attractive screen output, unless the font settings have been changed in the preferences.
Tip:More information on the format and structure of constraints and the parser is available in the How GrafEq Works chapter.


Following are some additional hints and tips about custom ticks and the custom ticks window:

Conclusion
To conclude this chapter of the manual, following are some examples of useful tick specifications:


Chapter 8. The Page Window

The page window is for preparing pages for printing. Pages can contain graphs, formulae, and text, augmented by arrows, and delineating rectangular boxes. The page window is brought up by selecting New Page from the Graph menu. Figure 8.1 shows a page window containing a graph view along and the relation for the graph, “y=sinx”:

A typical page window
Figure 8.1: A typical page window

The page window consists of the following elements:


The elements of the page window are explained as follows:

Title bar
The title bar displays the graph title and the page title. The default page title can be changed using the parameter bar's title edit box. Figure 8.2 shows the title bar:

The title bar of a page window
Figure 8.2: The title bar of a page window

Parameter bar
The parameter bar is for customizing the page title and changing the scaling factor used to display the page on the screen. Figure 8.3 shows the parameter bar:

The parameter bar of a page window
Figure 8.3: The parameter bar of a page window

Following are the elements, from left to right, on the parameter bar:

Title edit box
The title edit box is for changing the title of the current page. Title editing is useful during demonstrations and for print-outs. The default title, “Page #1”, can be changed by first clicking on the title edit box to enter the edit mode, and then changing the title name. The new title will be reflected in all menus, windows, and buttons that show the page title.

Page scale pop-up menu
The page scale pop-up menu is for changing the scaling factor used to display the page on the screen. As a default, GrafEq uses the largest scaling factor that can display an entire page without scrolling. The scale can be changed by clicking on the page scale pop-up menu to bring up a list of available scale factors, and then selecting from the list. A small scaling factor can be used for display on a small monitor; A large scaling factor can be used to magnify the page content for close examination and precise editing. Scroll bars would be provided when the page content is larger than the page window.

Page region
The page region displays the page being prepared for printing. The licensee name is always displayed on the top left corner of the page. The page can also include graphs, formulae, and text, augmented by pointer arrows, and delineating rectangular boxes. When a page window is foremost, a page buddy floating window appears to offer drawing tools for augmenting the page, and printing tools for printer control and printing.
Hint:The drawing tools of the page buddy are the same as those offered by the view buddy.

Conclusion
To conclude this chapter of the manual, following are some additional hints and tips about the page window:


Chapter 9. The Page Buddy Floating Window

The page buddy window is for accessing drawing tools and printing controls for its associated page. It appears automatically when a page window is foremost. Figure 9.1 shows the page buddy floating window:

The page buddy floating window
Figure 9.1: The page buddy floating window


The page buddy provides the following tools:

Before going into details about the different tools of the page buddy, following are some hints about the floating window, its appearance, and some general use instructions:

General Draw Tools
General draw tools provide many elaborate tools for augmenting pages for printing. Details about each of them are explained in Appendix C, the Draw Tools appendix.
Hint:General draw tools in the page buddy is the same as those in the view buddy.

Graph Tools
Graph tools are for pasting selected graph views onto a page. Figure 9.2 shows the graph draw tool floating window:

The Graph Draw Tool Floating Window
Figure 9.2: The Graph Draw Tool Floating Window


The elements, from top to bottom in the graph draw tool floating window, are explained as follows:

View pop-up menu
The view pop-up menu is for selecting a view to the clipboard, for subsequent pasting to the page.
Enforce Minimum Size checkbox
The Enforce Minimum Size option is for imposing a 25% limit for a pasted graph views’s minimum size. If the option is not selected, pasted views can be shrunk arbitrarily small.

Print Tools
Print tools are for Figure 9.3 shows the print draw tool floating window:

Printer controls in a draw tool floating window
Figure 9.3: Printer controls in a draw tool floating window


The elements, from top left across to bottom right in the print draw tool floating window, are explained as follows:

Page Setup button
The Page Setup button is for accessing the operating system’s standard page setup window. Options may include paper size, paper source and orientation, graphic resolution, number of copies to be printed, and which printer to print to.
Print button
The Print button is for accessing the operating system standard print window. The print window is for sending the current print page to a printer; it may also include some options that influence the printing process.
Show Printer Page checkbox
The Show Printer Page option is for displaying of the limits that the print head can reach on the physical paper.
Page size and printer Resolution
Page displays the print page dimensions in inches; Resolution displays the resolution in dots-per-inch, “dpi”.

Reset Guides button
The Reset Guides button is for changing all margins back to the default setting. Default margins are set to a minimum, and the guides would overlap with the printer page.
Show Guides checkbox
The Show Guides option is for outlining, with dotted line, the page area on which page contents are to be printed.
Pop-up menus for Left, Right, Top and Bottom Guides
The guide pop-up menus are for changing the respective print margins.
Hint:Margins can also be set by clicking at the respective guide box on the page, then dragging it to the desired position.


Chapter 10. The Menu Bar

The menu bar is for accessing functionalities provided in the pull-down menus. It is located just below the GrafEq window title bar, and is always present. The menu bar can contain the following elements:


Hint:File and Edit menus are always present; but
  • Graph menu is present only when there is one or more active graphs;
  • Relation menu is present only when an algebraic window or structural window is foremost; and
  • Custom Ticks menu is present only when a custom ticks window is foremost.

File Menu
The File menu is divided into six groups: “opening and creating”, “configuring”, “closing and saving”, “printing”, “selecting”, and “terminating”. Figure 10.1 following is the file menu:

The File menu
Figure 10.1: The File menu

Edit Menu
The Edit menu is for accessing Cut, Copy and Paste operators, as explained following:

Tip:
  • Editing is useful when working on algebraic relations and general text within GrafEq.
  • By copying and pasting to word processing, drawing, and other programs GrafEq’s formatted relations and plotted graph views can be used included in mathematical reports, hand-outs, books, etc.
  • To fine-tune alignment when pasting to a word processor, try the word processor’s superscript of subscript effects.
  • To achieve best results when printing a document containing a GrafEq graph, try changing options within the Page Setup or Print of the program used.
  • GrafEq provides some basic drawing tools; for elaborate drawing effects, it is also possible to first paste a GrafEq entity into a drawing program, to fine tune the picture, and then copy it from the drawing program to the destination application.
Hint:However, editing options are not available in the following situations:
  • When the view window is foremost,
    • while Copy is allowed, because the contents of the view region can be copied, and then pasted to other applications,
    • the Cut and Paste operators are greyed out (unavailable), because the view window is for displaying graph views and the plotting process, and does not allow changes to it.
  • When the page window is foremost, the entire Edit menu is greyed out (unavailable), because editing in the page window is provided via the page buddy floating window.
  • When the structural relation window is foremost, the entire Edit menu is greyed out (unavailable), because the structural window is for displaying the tree structure of its associated relations, and does not allow any editing.

Graph Menu
The Graph menu is for creating and displaying graph elements.

Relation Menu
The Relation menu is for controlling the display of relation elements and the easy button floating window.

Custom Ticks Menu
The Custom Ticks menu offers an Easy Buttons control, which is the same as, and synchronized with the easy button control from the Relation menu, and is for toggling between the hiding of the easy button floating window, and its display when any constraints or expressions are being edited. As mentioned under the Relation menu section, the option for the easy button floating window is global and applies to the current GrafEq session.


Chapter 11. Preferences

Preferences are for setting defaults for some GrafEq features, behaviour and appearances. Some advanced features are also only accessible or controlable from within the preferences window. The preferences window can be opened by selecting Preferences from the File menu.

Figure 11.1 shows the preferences window as it appears by factory default; preferences are organized mainly by windows, while a few general preferences for file access control and interface languages are also provided.

The GrafEq Preferences Window
Figure 11.1: The GrafEq preferences window

Before going into details about preferences, following are some general hints about the effects of preference settings and some general use instructions:

Windows Preferences
Windows are listed in alphabetical order of window names, as seen in figure 11.1 earlier.


Algebraic Window Preferences
Hint:Algebraic window preferences also control the custom ticks window settings.
Controls cover the clipboard, easy buttons, display fields, and the teleprompter. Figure 11.2 shows algebraic window preferences:

Algebraic Window Preferences
Figure 11.2: Algebraic window preferences


Create View Window Preferences
Create view window preferences are for setting default options covering automatic graphing, colour view and view size, and interface options covering user access to these create view settings and controls. Figure 11.8 shows create view window preferences:

Create View Window Preferences
Figure 11.8: Create View Window preferences


Custom Ticks Window Preferences
Custom Ticks Window uses the same preference settings as the algebraic window.

Memory Monitor Window Preferences
Memory monitor preferences are for setting defaults to show, or not show, the memory monitor, setting its optional data contents, and setting formats and appearances for the memory monitor window. Figure 11.9 shows memory monitor window preferences:

Memory Monitor Window Preferences
Figure 11.9: Memory monitor window preferences


Page Window Preferences
Page window preferences are for setting the frequency at which page window contents are to be updated from any graph views, and setting font size for the page window to suit printing needs. Figure 11.10 shows page window preferences:

Page Window Preferences
Figure 11.10: Page window preferences


Tip:The page window might flash when it is updated; the advantage of showing current contents should be weighted against possible flashing of the display.

Preferences Window Preferences
Preferences window preferences are for controlling access to preferences settings, and saving of preference changes. Figure 11.11 shows preferences window preferences:

Preferences Window Preferences
Figure 11.11: Preferences window preferences

Hint:The same password will be used for restricting access to preference settings and saving, as well as access to file loading and saving. A user specific password is supplied with registration.

Structural Window Preference
The structural window preference is for setting defaults to present commutative relations either as processed flat tree structures, or as original/unprocessed full-blown trees. The control is provided by the Combine commutative checkbox. Figure 11.12 shows structural window preference:

Structural Window Preference
Figure 11.12: Structural window preference


Title Window Preference
Title window displays the GrafEq version logo in an attractive splash screen. One prefer control is offered for the title window, by the Minimum number of available colours to justify using colour... number pop-up menu. Figure 11.13 shows title window preference:

Title Window Preferences
Figure 11.13: Title window preferences


View Window Preferences
Controls cover the clipboard, view colours, information, ticks, view and zoom. Figure 11.14 shows view window preferences:

View Window Preferences
Figure 11.14: View window preferences


Files Preferences

Algebraic Window Preferences
Figure 11.21: Algebraic window preferences

Files preferences are for controlling access to file loading and saving/changing, by the Password required for opening files checkbox and Password required for saving files checkbox.
Hint:The same password will be used for controlling access to preference settings and saving, as well as access to file loading and saving. A user specific password is supplied with registration.

Language Preference

Algebraic Window Preferences
Figure 11.22: Algebraic window preferences

Language preference is for changing the interface language, by clicking on the American English radio button or the Canadian English radio button.

Conclusion
To conclude this chapter of the manual, remember that default preference means that the settings will apply to all appropriate cases, and across sessions, every time GrafEq is started. These settings can be changed on the fly, when GrafEq is running, but the changes will apply only to individual graphs or windows, and will not affect the defaults. The next time GrafEq is started, default settings would be back in effect.


Chapter 12. How GrafEq Works

The general GrafEq environment is that relations are entered in algebraic windows, and plotted in view windows. Then relations and views can be prepared for printing in page windows.

GrafEq also has many features of interest to the sophisticated user, including its relation parser, plotting technique, and memory management.
Hint:Useful and interesting hints and tips relevant to the immediate topic are offered throughout this GrafEq manual. Most chapters are also concluded with general hints and tips for the chapter topic. Hints are observations that often helps understanding; Tips are possible actions that often helps efficiency or effectiveness. They might simply be interesting side notes too.

The Algebraic Relation Parser
GrafEq’s algebraic relation parser understands conventional mathematics notation, which helps make the program intuitive to those familiar with such notation, and encourages students to learn the standard notation. Some characteristics are explained as follows:

Tip:Older versions of GrafEq perform little symbolic manipulation, and plotting is primarily numeric. Natural pre-processing of expressions such as replacing “x3 - x3” with a simple “0” might enhance efficiency significantly. Starting with version 2.04, GrafEq does simple pre-processing, so that it will recognize (and perform) simple replacements that improve graphing speed without changing the graph of the relation.

Rewriting and simplifying relations must be done very carefully! For example, “>=!” should not be re-written as “<” because they are not equivalent in all cases. Figure 12.1 shows the graphs of “y >=! Arccosx” and “y < Arccosx” as plotted by GrafEq; they are not equal because Arccosx is undefined for x>1 and x<-1:

Graph of y >=! Arccosx Graph of y < Arccosx
Graph of y >=! Arccosx Graph of y < Arccosx

Figure 12.1: Graphs plotted by GrafEq shows that “>=!” and “<” are not the same

The Plotting Technique - Successive Refinement
GrafEq’s graphing engine uses a unique plotting technique called successive refinement, which ensures that irregular graphs are plotted correctly. Details are explained as follows:

  1. A view region is divided into rectangular sub-regions.
  2. Each sub-region is examined:
    Hint:A graph is drawn using the following rules:
    • pixels that form part of the final graph have the (possibly blended) colours of the relevant relations;
    • pixels that do not form part of the final graph have the colour of the view region’s background; and
    • pixels that are not yet determined
      • have the (possibly blended) colours of the relevant relations, or
      • if the Show Work option, in the information view buddy, is selected, the colour of the work area.
Hint:GrafEq can correctly plot irregular graphs such as singularities and narrowly spiked curves. Figure 12.2 shows three stages in the plotting of “x(x+1)2+y(y+1)2=0”:

Graph of x(x+1)^2+y(y+1)^2=0 Graph of x(x+1)^2+y(y+1)^2=0 Graph of x(x+1)^2+y(y+1)^2=0

Figure 12.2: GrafEq plotting a relation with a singularity, in successive refinement
Tip:Graphing can be sped up if relations can be described as inequalities naturally. Inequalities are typically done more efficiently than equations.
Hint:GrafEq displays a “signature” at point-discontinuities.

Consider the relation y=(x-1)(x+1)/(x-1). Its graph can be anticipated to be the line y=x+1 less the point (1,2). However, when the relation is fed to a computer, while graphers using common sampling plotting techniques would likely miss the issue of the point discontinuity altogether, even GrafEq with its robust graphing engine cannot omit any pixels for the point (1,2), because the pixel containing (1,2) also contain many solutions in the real number continuum that satisfy the relation. In such cases, rather than just graphing the solid line y=x+1, GrafEq will often make the anomaly apparent, by displaying a signature at the point-discontinuity, as shown in figure 12.3:

Graph of y=(x-1)(x+1)/(x+1) Graph of y=(x-1)(x+1)/(x+1) Graph of y=(x-1)(x+1)/(x+1)

Figure 12.3: Graph with point discontinuity signature at x=1

Starting with version 2.04, GrafEq has an improved graphing engine which may not display discontinuity signatures (older versions may not either; the signature is a side-effect of the graphing process). Future versions will have added features, which will allow users to see undefined portions of a graph.

Tip:To achieve high precision, the view scope can be enlarged by setting large bounds from the create view dialog box. High precision is useful for printing very thin accurate curves via a high resolution printer. In general, a 600 to 2,450 dpi printer will generate good results with uniform ticks.

Memory and Speed
GrafEq provides a memory monitor to display information on memory usage. When the memory monitor shows that memory resources are becoming inadequate, the following actions might help:

More memory usage information is also provided in the Information View Buddy, including: Actions that relieve memory inadequacy generally help graph plotting speed too, while the following steps mainly enhances the latter.
Tip:Any computationally intensive program will run more efficiently on a fast machine with generous memory resources. For specific information on how a computer system manages memory, refer to documentations for its hardware, operating system and other softwares installed. With respect to GrafEq:

If computer time is restricted, such as access to machines is limited to one-hour time slots, GrafEq can still be used effectively to plot complicated graphs at high resolutions. At the end of a session, select halt graphing from the File menu, and save the graph in full format. The full graph can be opened at a later time and graphing can resume from where it left off previously.

If disk resources is too scarce for saving a full graph, a graph of interest can usually still be saved in the skeleton format. The skeleton graph can be opened at a later time, although the plotting process must then re-start from scratch.

Further Reading
For more information on how the graphing process works, see:

Jeffrey Allen Tupper. Graphing Equations with Generalized Interval Arithmetic.
M.Sc. Thesis, Department of Computer Science, University of Toronto, January 1996.
http://www.dgp.toronto.edu/people/mooncake/msc.html

Appendix A. Easy Buttons

This appendix explains how to enter functions, relations, values, and symbols with GrafEq’s easy buttons. For explanation of specific functions and relations, refer to the Appendix B, the Functions and Relations appendix.

Functions, relations, and operations have to be entered in certain formats; they also take varying number of arguments. GrafEq provides the easy buttons as well as the following features to offer support during relation entry:

Algebra Easy Buttons
The Algebra easy buttons provides help for entering algebraic functions. The two control buttons on the top row offer options for algebraic power functions, or inverse algebraic power functions. Figure A.1 shows the algebraic easy buttons:

Algebra Easy Buttons - Power Functions Algebra Easy Buttons - Inverse Power Functions
Power Functions Inverse Power Functions

Figure A.1: Algebra Easy Buttons


The entities x and y within the easy buttons represent expressions that should be entered after the button-click; and the entity a represents arguments that should be entered prior to the button-click. Each button is explained as follows:

Hint:In general, exiting exponent, radical, or logarithmic base is by entering an operation of lower precedence; or if the constraint specification is already complete, by pressing return, or pressing the tab key to enter the next constraint field. More information about precedence is available in Appendix B, the Functions and Relations appendix.

Arithmetic Easy Buttons
The Arithmetic easy buttons, as seen in figure A.2, provides help for entering arithmetic operators.

Arithmetic Easy Buttons
Figure A.2: Arithmetic Easy Buttons

To enter or insert an arithmetic operator, just click its button.
*, -, and / are all used in between two arguments (infix binary); +, -, ± can be used either in between two arguments, or in front of one argument (prefix unary). Each argument can be a single term or an expression enclosed in appropriate parentheses).

Basic Easy Buttons
The Basic easy buttons, as seen in figure A.3, include six basic mathematical operations and symbols which are frequently used.

Basic Easy Buttons
Figure A.3: Basic Easy Buttons
Basic easy buttons are also provided in the respective easy button groups to which they logically belong. Explanation of how to enter relevant relations with the buttons are presented again as follows:

Factoring Easy Buttons
The Factoring easy buttons, as seen in figure A.4, provides help for entering factoring functions and operators.

Factoring Easy Buttons
Figure A.4: Factoring Easy Buttons


Greek Easy Buttons
The Greek easy buttons provides help for entering Greek characters. The two control buttons on the top row offer options for upper or lower case Greek characters. The three control buttons on the second row offer options for characters groups denoted by the leading characters, namely:
set A(from A to I), set J(from J to R), or, set S(from S to Z); and set a(from a to i), set j(from j to r), or, set s(from s to z).
To enter or insert a greek character, just click its button. Figure A.5 shows the Greek easy buttons:

Greek Easy Buttons - Lowercase Characters Set alpha Greek Easy Buttons - Lowercase Characters Set varphi Greek Easy Buttons - Lowercase Characters Set sigma
Set a Set j Set s

Greek Easy Buttons - Uppercase Characters Set Alpha Greek Easy Buttons - Uppercase Characters Set vartheta Greek Easy Buttons - Uppercase Characters Set Sigma
Set A Set J Set S

Figure A.5: Greek Easy Buttons - Lower and Uppercase Characters

Integer Easy Buttons
The integer easy buttons, as seen in figure A.6, provides help for entering integer functions and operators.

Integer Easy Buttons
Figure A.6: Integer Easy Buttons


Measure Easy Buttons
The Measure easy buttons, as seen in figure A.7, provides help for entering magnitude operators.

Measure Easy Buttons
Figure A.7: Measure Easy Buttons


Numbers Easy Buttons
The Numbers easy buttons, as seen in figure A.8, provides help for entering numeric digits, the decimal point, and the negative sign.

Numbers Easy Buttons
Figure A.8: Numbers Easy Buttons

To enter or insert a number digit, just click on its button.
Numbers can be conveniently entered via the computer keyboard; this easy button set is provided for completeness, and is turned off in preferences settings by factory default.

Order Easy Buttons
The Order easy buttons, as seen in figure A.9, provides help for entering maximum and minimum ordering functions:

Order Easy Buttons
Figure A.9: Order Easy Buttons

Relational Easy Buttons
The Relational easy buttons provides help for entering relational symbols. The two control buttons on the top row offer options for simple relational symbols, or negated relational symbols. Figure A.10 shows the relation easy buttons:

Relational Easy Buttons - Direct Relations Relational Easy Buttons - Negated Relations
Direct Relations Negated Relations

Figure A.10: Relational Easy Buttons


To enter or insert a relational symbol, just click its button.
All relational symbols are used between two arguments (infix binary).

Roman Easy Buttons
The Roman easy buttons provides help for entering Roman characters. The two control buttons on the top row offer options for upper or lower case Roman characters. The three control buttons on the second row offer options for characters groups denoted by the leading characters, namely, set A(from A to I), set J(from J to R), or, set S(from S to Z), and set a(from a to i), set j(from j to r), or, set s(from s to z). Figure A.11 shows the Roman easy buttons:

Roman Easy Buttons - Lowercase Characters Set a Roman Easy Buttons - Lowercase Characters Set j Roman Easy Buttons - Lowercase Characters Set s
Set a Set j Set s

Roman Easy Buttons - Uppercase Characters Set A Roman Easy Buttons - Uppercase Characters Set J Roman Easy Buttons - Uppercase Characters Set S
Set A Set J Set S

Figure A.11: Roman Easy Buttons - Lower and Uppercase Characters

To enter or insert a Roman character, just click its button.
Roman characters can be conveniently entered via the computer keyboard; this easy button set is provided for completeness, and is turned off in preferences settings by factory default.

Set (and conditional definition) Easy Buttons
These easy buttons, as seen in figure A.12, provides help for entering set symbols and conditional definitions.

Set Easy Buttons
Figure A.12: Set Easy Buttons


Trig Easy Buttons
The Trig easy buttons provides help for entering various trig functions and relations. The three control buttons on the top row offer options for simple trig functions, inverse trig functions, or inverse trig relations. The four control buttons on the second row offer options for operations groups based on four different conics, namely, circle set, hyperbola set, square set, or diamond sets. Figure A.13 shows the trig easy buttons:

Trig Easy Buttons - Circle Functions Trig Easy Buttons - Hyperbola Functions Trig Easy Buttons - Square Functions Trig Easy Buttons - Diamond Functions
Circle Functions Hyperbola Functions Square Functions Diamond Functions

Trig Easy Buttons - Inverse Circle Functions Trig Easy Buttons - Inverse Hyperbola Functions Trig Easy Buttons - Inverse Square Functions Trig Easy Buttons - Inverse Diamond Functions
Inverse Inverse Inverse Inverse
Circle Functions Hyperbola Functions Square Functions Diamond Functions

Trig Easy Buttons - Inverse Circle Relations Trig Easy Buttons - Inverse Hyperbola Relations Trig Easy Buttons - Inverse Square Relations Trig Easy Buttons - Inverse Diamond Relations
Inverse Inverse Inverse Inverse
Circle Relations Hyperbola Relations Square Relations Diamond Relations

Figure A.13: Trig Easy Buttons

All trig operators are used in front of one argument (prefix binary); so click the button first, then enter the argument, which can be a single simple term or an expression enclosed in appropriate parenthesis.


To conclude this section of the manual, following are some additional hints and tips about the easy button floating window:


Appendix B. Functions and Relations

This appendix explains many interesting functions and relations. They are presented logically in groups which are in similar order as GrafEq’s easy button groups. Mathematical symbols not readily available from the standard keys on a keyboard can be entered with easy buttons; for details, refer to the Appendix A, the Easy Buttons appendix.
Tip:A good way to understand and investigate a function or relation is to graph it with GrafEq!

Algebraic Functions

Arithmetic Operations

Factoring Functions

Integer Functions
Integer functions convert real values to integers. Each function takes one argument.

Measure Functions/Magnitude Operators

Order Functions

Relational Functions
Equal to (=), less than (<), greater than (>) and other simple and complex, positive and negative relations are all infix binary, with the operator in between two terms.
Hint:Besides easy buttons, less than or equal to can also be entered with the control-< key combination; greater than or equal to with the control-> key combination in GrafEq.

Set and Conditional Functions

Hint:Pairs of braces, brackets, as well as parentheses can also be used to control precedence.

Trig Functions and Relations
All trig functions and relations take one argument each.


To conclude this section of the manual, following are some additional hints and tips about GrafEq functions, relations, and operations:


Appendix C. Draw Tools

Draw tools are for inserting labels, explanations, descriptions, and drawings to graph views and pages. They are accessible for pages from the page buddy window. They are accessible for graph views from the view buddy window, by first clicking on the buddy mode pop-up (at the top of the floating window) menu, then selecting Draw from the menu.

Draw tool types include:

The active draw tool is selected by clicking, or pressing down its button in the draw buddy window or the page buddy window. The respective draw tool options and controls would then be presented in a separate Draw Tools floating window.

If an object is created or selected, the tool’s controls will modify this current object only. If no object is selected, a tool’s controls will modify the default settings for that tool, which affect all objects subsequently created.

The Selection Tool
The selection tool is for selecting an object which can then be moved, edited, or deleted. It is the black cursor button in the draw buddy or the page buddy.
Following are some use instructions for the selection tool:



The object selected with the selection tool can be moved, edited, or deleted. To effectively manipulate objects, note the following attributes:

Arrow Tools
The arrow tool is for drawing lines, single-headed arrows, and/or double-headed arrows in graph views or pages. It is the arrow button in the draw buddy and the page buddy.
To insert an arrow, first ensure that the arrow button in the draw buddy or page buddy is pressed down. Bring the mouse to the desired starting point (the source) of the arrow, press and hold down the mouse button dragging the mouse to the desired ending point (the destination) of the arrow. Release the mouse button once the final position is correct.

To resize, re-orient, move, or delete an arrow, refer to the selection tool manual section presented earlier. To customize the appearance of lines and arrows, use arrow tools as presented in figure C.1 and explained following:

Arrow tools floating window
Figure C.1: Arrow tools floating window


Formula Tool
The Formula tool is for writing formatted mathematical formulae in graph views or pages. It is the “x2” button in the draw buddy and the page buddy.
To insert a formula, first ensure that the formula button in the draw buddy or page buddy is pressed down. Click the mouse once at the center of where the formula is desired, an easy button floating window will appear to provide help in formula entry, and the formula can be entered. To resize, move, or delete a formula, refer to the selection tool manual section presented earlier. To customize the appearance of formulae, use formula tools as presented in figure C.2 and explained following:

Formula Tools Floating Window
Figure C.2: Formula Tools Floating Window


Hint:The size of the formula box is determined by the length of the formula and the font size selected.

Text Tool
The text tool is for writing text in graph views or pages. It is the “A” button in the draw buddy and the page buddy.
To insert a text object, first ensure that the text button in the draw buddy or page buddy is pressed down. Click the mouse once at the center of where the text is desired, A text editing window, as seen in figure C.3, will appear automatically for entering text contents:

A Text Editing Window
Figure C.3: A Text Editing Window


To resize, move, or delete a text object, refer to the selection tool manual section presented earlier. To customize the appearance of text objects, use text tools as presented in figure C.4 and explained following:

Text Tools Floating Window
Figure C.4: Text Tools Floating Window


Hint:The size of the text box is determined by the length of the text and the font size selected.

Box Tools
The box tool is for drawing rectangle boxes in graph views or pages. It is the rectangle box button in the draw buddy and the page buddy.
To insert a box object, first ensure that the box button in the draw buddy or page buddy is pressed down. Bring the mouse to one corner of the desired box, press and hold down the mouse button while dragging the mouse to the opposite corner of the box. Release the mouse button once the final position is correct.

To resize, move, or delete a box object, refer to the selection tool manual section presented earlier. To customize the appearance of boxes, use box tools as presented in figure C.5 and explained following:

Box Tools Floating Window
Figure C.5: Box Tools Floating Window



Appendix D. Values and Variables

There are three main groups of values and variables in GrafEq as explained following:


Numbers
Numbers are formed from the ten numeric digits (0 to 9), the decimal point, and the negation sign. Numbers, or to be precise, digits, can only be numeric values, and cannot be used as variables.

Numbers can be entered via the computer keyboard, the numeric key pad, or the easy button floating window.
Tip:Infinity (oo) is a constant, and can be entered by pressing control-8 in GrafEq.



Roman Letters
All Roman letters except e can be used as variables or constants. e is a predefined constant in GrafEq, equals 2.7182818284590452..., and is the base of natural logarithms. GrafEq is case sensitive, so upper-case and lower-case letters are considered different and unique; x and X are not the same.

Roman letters can be entered via the computer keyboard, or the easy button floating window.


Greek Letters
All Greek letters except p can be used as variables or constants. p is a predefined constant in GrafEq, equals 3.1415926535897932..., and is a half circle’s angle in radian measure. GrafEq is case sensitive, so upper-case and lower-case letters are not the same; w and W are two different variables.

Greek characters can be entered via the easy button floating window, by typing in their name, or by using the keyboard key combinations listed in figure D.1. For example, “a” may be entered by clicking on the appropriate easy button, by typing “alpha”, or by pressing control-a.

AlphaAcontrol-Aacontrol-a
BetaBcontrol-Bbcontrol-b
ChiCcontrol-Cccontrol-c
DeltaDcontrol-Ddcontrol-d
EpsilonEcontrol-Eecontrol-e
PhiFcontrol-Ffcontrol-f
GammaGcontrol-Ggcontrol-g
EtaHcontrol-Hhcontrol-h
IotaIcontrol-Iicontrol-i
Theta VariantJcontrol-J
Phi Variantjcontrol-j
KappaKcontrol-Kkcontrol-k
LambdaLcontrol-Llcontrol-l
MuMcontrol-Mmcontrol-m
NuNcontrol-Nncontrol-n
OmicronOcontrol-Oocontrol-o
PiPcontrol-Ppcontrol-p
ThetaQcontrol-Qqcontrol-q
RhoRcontrol-Rrcontrol-r
SigmaScontrol-Sscontrol-s
TauTcontrol-Ttcontrol-t
UpsilonUcontrol-Uucontrol-u
Sigma VariantVcontrol-V
Pi Variantvcontrol-v
OmegaWcontrol-Wwcontrol-w
XiXcontrol-Xxcontrol-x
PsiYcontrol-Yycontrol-y
ZetaZcontrol-Zzcontrol-z

Figure D.1: Greek Alphabet and corresponding input key combinations

Sets
Sets can be discrete or continuous.
A discrete set contains elements listed within a pair of braces.
A continuous set can either contain open ranges described within a pair of parentheses, or closed ranges described within a pair of square brackets.

To conclude this section of the manual, following are some additional hints and tips about GrafEq values:


Appendix E. Keyboard Shortcuts

File Menu

command-NNew Graph
command-OOpen
command-WClose Window
command-SSave
command-.Halt Graphing
command-QQuit
Hint:Either upper-case or lower-case characters can be used.

Edit Menu

command-XCut
command-CCopy
command-VPaste

Mathematics Symbols and Formats

down arrowsubscript
or _
up arrowsuperscript
or ^
control-=e
control-/÷
control-[
control-]
control-{
control-}
control-’°

Negative relations, such as >=!, e!, etc., is entered by following the positive relation with an “/” or an “!”.

A complete listing of Greek characters with corresponding input key combinations is provided in Appendix D, the Values and Variables appendix.

View Buddy

CColour control-BBlending (toggle on/off)
control-CColour (toggle on/off)
control-TTick (toggle on/off)
control-#Activate Relation Number# (toggle on/off)
DDraw control-up arrowmove up one layer
control-down arrowmove down one layer
control-spacebarRevert to previous tool
control-deleteerase current object
or control-del
IInformation control-#Show Relation Number#
control-0Show Totals
control-SShow work (toggle on/off)
TTicks
ZZoom control-clickoverride “Keep this view...” option
control-right arrowenlarge zoom box, both width and length
or control-up arrow
control-left arrowshrink zoom box, both width and length
or control-down arrow
shift-right arrowaccelerated zoom box widening
shift-up arrowaccelerated zoom box lengthening
shift-left arrowaccelerated zoom box narrowing
shift-down arrowaccelerated zoom box shortening
11-Point mouse clickjump to the curve
mouse dragride the curve
right arrow move right 1 pixel precisely
up arrow move up 1 pixel precisely
left arrow move left 1 pixel precisely
down arrow move down 1 pixel precisely
22-Point spacebarinterchange points A and B
Aset cursor to point A
Bset cursor to point B


Appendix F. Version History

Version 2.07 (Feb 19 1999)

Version 2.06 (Dec 22 1998)


Tutorial I. A Beginner’s Guided Tour

In this exercise, we will overview GrafEq’s functionality. While the many screen-shots and pictures serve as a pleasant introduction to general users, the step-by-step explanations will help the novice students follow through.


To launch the program

  1. Double-click on the GrafEq icon, as seen in figure I.1 following:

    The GrafEq icon
    Figure I.1: The GrafEq icon

  2. A splash screen appears, which gradually reveals the GrafEq title screen, as seen in figure I.2 following. Press the space bar once to clarify the splash screen, and once more to remove it.

    The GrafEq logo
    Figure I.2: The GrafEq logo

  3. The Relation #1 algebraic window then opens automatically, as seen in figure I.3 following:

    An Algebraic Relation Window
    Figure I.3: An Algebraic Relation Window


To enter a relation

  1. Ensure that the caps lock key is not depressed.

  2. Follow the step sequence, which will be provided, to enter the relation as seen in figure I.4 following:

    y=sqrt(x)sin1/x
    Figure I.4: y=sqrt(x)sin1/x

    The necessary step sequence is as follows (Refer to the hints immediately following regarding easy buttons and prompts.):

    1. Type in “y=”;
    2. Click the sqrt() easy button;
    3. Type in “x”, then “)”, noting the prompt at the bottom of the relation window, that says “Press ) to finish the term”;
    4. Type in “sin1/x”.
    Some general hints about entering relation specifications:
  3. The prompt message at the bottom of the window now states “Press return to graph...” Press return now. The Create View window will then appear. Figure I.6 following is the create view window:

    The Create View Window
    Figure I.6: The Create View Window


To specify a viewport

  1. GrafEq can plot both Cartesian and Polar graphs, and will automatically set the default mode according to the relation entered. The graph mode can be changed by clicking its radial button. Since we have entered Relation #1 as a rectangular relation, Cartesian mode is active (by default) in our Create View window, and we will not change that.

  2. We will not change the default domain (horizontal) and range (vertical) bounds, but any of them can be changed by:
    1. clicking on the box of the bound to be changed; then
    2. editing the number in the box; and
    3. repeating the steps for any other bounds to be changed.

To create a graph

  1. Create the specified view by clicking the Create button, or simply pressing return as the Create button is the default button. (The thick border around the Create button denotes that it is the default button.)
    The graph view and an accompanying view buddy floating window appear as in figure I.7 following:

    Graph view of y=sqrt(x)sin1/x
    Figure I.7: Graph view of y=sqrt(x)sin1/x, and the view buddy


To apply or remove axes and scales
Figure I.7 shows axes and scales applied to the graph; the steps required to remove or apply them are as follows:

  1. Go to the view buddy, click and hold down the mouse on the mode pop-up menu on the top of the floating window; a pull down list appears.

  2. Drag the mouse down the list to Ticks, then release the mouse to enter Ticks mode.

  3. Click on each of the four buttons in turn to see the different ticks. Figure I.7 uses the second button.

  4. The Show Ticks checkbox on top of the buttons is selected. To hide the ticks, click on the checkbox once to toggle ticks inactive. (One more click and the ticks will be toggled active, into the last state selected.)


To alter the viewport region by zooming
The graph presents a good overview of the relation over the domain and range of [-10, 10]. But the interesting portion seems to be a smaller region around the origin. Although we could have created a view with narrower bounds in the Create View window, it is now more convenient for us to change the viewport region with GrafEq’s zoom feature.

  1. Return to the view buddy, and enter zoom mode by selecting Zoom from the mode pop-up menu at the top of the floating window.

  2. The Zoom-Out button is on the view buddy now, but there is not a button for zooming in, since we have to specify the region to be zoomed into.

  3. Place the mouse cursor within the graph view; a zoom box will appear.

  4. Place the zoom box at the graph’s interesting portion, close to the origin, as seen in figure I.8 following:

    Zooming into a graph's interesting area
    Figure I.8: Zooming into a graph's interesting area, with the zoom buddy

  5. Click once to see the selected region, as View #2.

  6. Zoom in to the center once again, to create View #3, as seen in figure I.9 following:

    A good view of the graph's interesting area
    Figure I.9: A good view of the graph's interesting area


To edit a relation
We will edit the relation, from y=sqrt(x)sin1/x to y=x2sinx2.

  1. Bring the relation window back up front, to be the active window: If some part of the window is visible, click on it once. Alternatively, go to GrafEq’s top Graph menu, drag the mouse down to Relation #1(Algebraic), and release the mouse to select the algebraic window for Relation #1.
    Hint:The relation window appears, but not the prompt message or the easy button floating window. But the Active box in the relation window is selected, and the graph of Relation #1 is shown in the View #3 window.
  2. Click once on the relation, to invoke its edit mode.
    Hint:The prompt message appears in the relation window and the easy button floating window appears next to the relation window. But the Active box in the relation window is cleared, and the graph of Relation #1 is not shown in the View #3 window.
  3. Place the cursor just in front of “sin”, as seen in figure I.10 following:

    Relation #1 being edited
    Figure I.10: Relation #1 being edited

    Tip:Move the cursor by clicking the mouse in the area, or by repeatedly pressing the left arrow key.
    Hint:The relation portion behind the cursor becomes unformatted. Don’t worry about it; it will be automatically reformatted as they pass to the left side of the cursor.

  4. Erase the sqrt(x) term by either:
  5. Enter x2 as follows:
    1. Type in x from the keyboard;
    2. Go to the easy button floating window, and click the arrow adjacent to the algebra easy button set to open it;
    3. Click the a2 button once, and the relation window will look like figure I.11 following:

      Relation #1 edited
      Figure I.11: Relation #1 edited

  6. Move the cursor to the rightmost end of the relation, and see that the entire relation becomes formatted again, by:
  7. Press the delete key three times to remove the 1/x term.

  8. Enter x2 one more time to complete relation editing, as seen in figure I.12 following:

    Relation #1 edited
    Figure I.12: Relation #1 edited

  9. Press return to see the new graph plotted in the View #3 window.

    Graph of the edited Relation #1
    Figure I.13: Graph of the edited Relation #1

  10. The new graph above does not look very interesting. But note that the scales show very small numbers, and remember that we had zoomed in twice to produce View #3; we will now zoom back out to take a look at the “bigger picture”.

  11. Return to the zoom buddy, referring to the steps described earlier when altering the viewport region, press the Zoom Out button a few times. The result of zooming out is intriguing. The following picture, View #7, is obtained after zooming out four times.

    Graph of the edited Relation #1 after four zoom-outs
    Figure I.14: Graph of the edited Relation #1 after four zoom-outs


To use constraints in defining a relation
Note that the graph in figure I.14 is much simpler where x is small (less than three). We will now produce a simple graph whose domain is [0,3]. We have learned that:

Now we will use constraints in defining a relation.
  1. Bring the relation window back to the foremost and invoke its edit mode (refer to the steps described earlier when editing a relation).

  2. The prompt message at the bottom of the window states “....press tab to add a constraint.”. Press the tab key now.

  3. Enter the constraint “0<x<3”, as seen in figure I.15 following:

    Relation #1 with second constraint
    Figure I.15: Relation #1 with second constraint

  4. Press return for the resulting graph, as seen in figure I.16 following:

    Graph of Relation #1 with two constraints
    Figure I.16: Graph of Relation #1 with two constraints



Congratulations! You have completed the first part of this walk-through exercise! Before you continue on to the next section of the exercise, it is good practice to close your current graph, to free up the computer’s memory and screen space. To close your graph:
  1. press the mouse button on the File menu, then
  2. drag the mouse down the pull-down menu to Close Graph, and release the button to close your graph.
Graphs may also be saved, for future re-use. A later tour will discuss saving graphs in the various formats supported by GrafEq.

In this section, we will try out graphing multiple relations on the same graph, and a few other features of GrafEq.

To plot simultaneous systems

  1. Under the File menu select New Graph, to get a new relation window.

  2. Enter Relation #1 as seen in figure I.17 following, (with the help of the easy buttons for square operations):

    Relation #1 for the simultaneous system
    Figure I.17: Relation #1 for the simultaneous system

  3. Press return after Relation #1 is entered correctly, to get to the Create View Window.

  4. The default settings are fine, so press return or click on Create to create a graph.

  5. Under the Graph menu, select New Relation, to get another relation window (entitled Relation #2).

  6. Enter the second relation, referring to figure I.18 following, then press return.

    Relation #2 for the simultaneous system
    Figure I.18: Relation #2 for the simultaneous system

  7. Open another relation window (entitled Relation #3), by selecting New Relation under the Graph menu.

  8. According to figure I.19 following, enter the first constraint of the relation, press Tab, then enter the second constraint of the relation:

    Relation #3 for the simultaneous system
    Figure I.19: Relation #3 for the simultaneous system

  9. Press return; your graph now shows all three relations in three different colours, layered with Relation #1 at the bottom, then Relation #2, and finally Relation #3 on top, as seen in figure I.20 following:

    Graph of the simultaneous system
    Figure I.20: Graph of the simultaneous system


To blend graphs of simultaneous systems

  1. Return to the view buddy, and return to colour mode by selecting Colour from the mode pop-up menu on the top of the floating window.

  2. Click to select the Blend checkbox. The graphs for the simultaneous systems become blended, revealing individual graphs and intersections of the simultaneous system, as seen in figure I.21 following:

    Blended graph of the simultaneous system
    Figure I.21: Blended graph of the simultaneous system


To determine a point’s coordinates

  1. Return to the view buddy, and enter One Point mode by selecting One Point from the mode pop-up menu on the top of the floating window.

  2. Place the mouse close to an intersection point on the graph; pin down the point with the help of the magnified view on the view buddy, as seen following:

    An intersection point on the graph selected
    Figure I.22: Pin down an intersection point with the one point view buddy

  3. Read the coordinates of the point from the view buddy.

To change the colours of the graphs

  1. Access the colour mode view buddy again.

  2. Click on the colour box of Relation #1. When the colour panel appears, drag the highlight box to choose another colour.
  3. Repeat the process to choose colours for any other relations.

To determine distances between points

  1. Access the Two Point mode of the view buddy. A line segment AB appears on the graph.

  2. Use the mouse to drag points A and B to the two ends of the distance to be measured. See figure I.23 following as an example:

    Two points on the graph selected
    Figure I.23: Measure distance between two points with the two point view buddy

  3. Read the distances from the view buddy.


Congratulations! You have completed this introductory tour and experienced the basics of GrafEq.
As a reward for completing the tour, graph the relation in figure I.24 following:

Reward Relation
Figure I.24: Reward Relation


Many other features remain to be explored, such as:

Refer to the manual for full details of GrafEq’s functionality; the appendices provide a useful summary and reference. Pedagoguery Software will be placing additional tours online at http://www.peda.com/grafeq/tutorials.html, and with the manual.


Tutorial II. An Enrichment Exercise

In this exercise, we will examine the approximation of the sine function with the McLaurin polynomial. In particular, we will discuss the following question:

From the form of the McLaurin series, we can deduce that, ultimately, each successive term of the series brings us closer to the limiting value, on alternate sides. We will take a finite prefix of the McLaurin series as an approximation to the sine function: the more terms we take, the closer the approximation. Our question is: How many terms would be required?


Plot the sine function and the McLaurin polynomial simultaneously
To visualize and better understand the situation, we will plot the sine function and the McLaurin polynomial simultaneously.

  1. Launch GrafEq by double clicking its icon.

  2. Click on the title splash screen to proceed - the screen will disappear, and the Graph #1 Relation #1 input window will open automatically.

  3. Enter the sine function relation in the relation input window, as in figure II.1 following:

    The sine function relation
    Figure II.1: The sine function relation

  4. Go on to the Create View window by pressing return from within the relation window.

  5. The Create View window will appear; the default mode (Cartesian) is fine, but the bounds of the axes can be adjusted to obtain a more relevant and focused view of (-6, 6) by (-3, 3), as seen in figure II.2 following:

    Default view bounds changed
    Figure II.2: Default view bounds changed

  6. Click on the Create button; GrafEq will plot the sine graph as in figure II.3 following:

    The sine graph
    Figure II.3: The sine graph

  7. Now open a new relation input window to enter the McLaurin polynomial relation.
    1. Choose Graph from the GrafEq main menu; then
    2. choose New Relation.

  8. In the Relation #2 input window, enter the 3-term McLaurin polynomial relation for the sine function, by typing in “y=x-xup arrow3/3!+xup arrow5/5!”. The entry will be formatted, as seen in figure II.4 following:

    The McLaurin polynomial relation
    Figure II.4: The McLaurin polynomial relation

  9. Press return, GrafEq will display both relations simultaneously.

    The sine and McLaurin graph
    Figure II.5: The sine and McLaurin graph

OBSERVATIONS:

The 3-term McLaurin polynomial Thus, for a given McLaurin polynomial, the accuracy of approximation of the sine function depends primarily on the chosen value of the variable x.


Add more terms to the McLaurin series
Next we will look at how adding more terms to the McLaurin series helps the approximation.

  1. Double click on the Relation #2 input window, and add a fourth term to the McLaurin series as in figure II.6 following:

    A 4th-term added to the McLaurin polynomial
    Figure II.6: A 4th-term added to the McLaurin polynomial

  2. Press return and see from the graph, as in figure II.7 following, that the fourth term of the McLaurin series extends the approximation domain from (-2,2) to (-3,3).

    Approximation domain extended from (-2,2) to (-3,3)
    Figure II.7: Approximation domain extended from (-2,2) to (-3,3)

  3. To see the effects of adding more terms to the McLaurin series, repeat the steps as described above.

REVELATIONS:

With each term added, the domain of approximation is further extended. Nevertheless, rather than adding many terms to the McLaurin series, we will take a second look at the sine function and its approximation; note that

With such understanding, we can now rephrase our question as: How many terms of the McLaurin series are required to provide an approximation for the sine function at x=p/2?


Find the error of approximation
Although the graphs we have seen of the sine function and McLaurin polynomial seem to coincide at x=p/2, a closer look with GrafEq will help us see that it is actually an approximation.

  1. We will first introduce some custom ticks, on the x-axis, in multiples of p/2:
    1. Choose Graph from the GrafEq main menu; then, choose New Custom Ticks.
    2. When the system asks if you want preformated ticks, click the Yes button.
    3. Then, check the option for “multiples of p/2 along x-axis”, and the option for “Excluding x=0”; the custom ticks window will appear as in figure II.8 following:

      Custom ticks in multiples of pi/2
      Figure II.8: Custom ticks in multiples of p/2

    4. Finally, click the Create button to introduce the ticks to the graph, as seen in figure II.9 following:

      Custom ticks introduced to graph
      Figure II.9: Custom ticks introduced to graph

  2. Next, we will zoom way in to find the approximation error:
    1. Return to the view buddy, and enter Zoom mode by selecting Zoom from the mode pop-up menu on the top of the floating window.
    2. Since we have to zoom way in to see the error, we will expedite the zooming process - press the left arrow and down arrow keys, to reduce the size of the zoom box, for focused zooming.
    3. Place the zoom box on the curves, and where x=p/2, as in figure II.10 following:

      Zoom box on the curves, and where x=pi/2
      Figure II.10: Zoom box on the curves, and where x=p/2

    4. When the zoom box covers the curves where x=p/2, press return to zoom in. Repeat zooming until the two curves are visually separated.
      Hint:The exact picture after zooming depends on where the zoom box is placed at each zoom; therefore, the pictures produced will most probably be a little different every time. Figure II.11 following will serve as an example only.

      Sine and McLaurin curves visually separated
      Figure II.11: Sine and McLaurin curves visually separated

  3. Now we will read the amplitude of the error; using GrafEq’s One Point view buddy to read the coordinates of the two curves at p/2, then calculate the difference in their y coordinates to get the error.
    1. Return to the view buddy, and enter One Point mode by selecting One Point from the mode pop-up menu on the top of the floating window.
    2. Place the mouse close to the desired point on the graph; pin down the point with the help of the magnified view on the view buddy.
    3. Read the y-coordinate of the sine curve point from the view buddy, which is 1.0000024, as seen in figure II.12 following:

      One-point on sine curve reading 1.0000024
      Figure II.12: One-point on sine curve reading 1.0000024

    4. Read the y-coordinate of the McLaurin curve point from the view buddy, which is 0.9998400, as seen in figure II.13 following:

      One-point on McLaurin curve reading 0.9998400
      Figure II.13: One-point on McLaurin curve reading 0.9998400

    5. The approximation error with a 4-term McLaurin polynomial is therefore: 1.0000024 - 0.9998400, or 0.0001624.

  4. Repeat equivalent steps, as described above, for the 5-term McLaurin polynomial, and see that approximation error with a 5-term McLaurin polynomial is: 1.00000329 - 0.99999987, or 0.00000342.

    One-point on sine curve reading 0.99999987
    Figure II.14: One-point on sine curve reading 0.99999987

    One-point on McLaurin curve reading 1.00000329
    Figure II.15: One-point on McLaurin curve reading 1.00000329

CONCLUSIONS:

In our exercise, we found that the 4-term McLaurin polynomial can approximate the sine function with a maximum error of 0.0001624; and the 5-term one, 0.00000342.

Now, it has become clear that the question “How many terms would be close enough?” is rather vague. The best answer is perhaps: “How close is desired?”
Hint:Since the terms of the McLaurin series alternate between positive and negative, the approximation using n terms of the series has maximum error of the (n+1)th term, once the terms are decreasing in magnitude. For x in (0,p/2) this occurs immediately. Therefore, an alternative method for determining the number of terms required for some given accuracy, is to find the smallest n such that: (p/2)n/n! < 1/2(desired accuracy)


Congratulations! You have completed this enrichment exercise. But if you like, feel free to try the following suggestions for further exercises:


Pedagoguery Software will be placing additional tours online at http://www.peda.com/grafeq/tutorials.html, and with the manual.